{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# colors\n",
    "\n",
    "# fig = plt.figure(figsize=(20,20))\n",
    "# ax = fig.add_subplot(1,1,1)\n",
    "\n",
    "# make data\n",
    "x = [1, 2, 3, 4]\n",
    "colors = plt.get_cmap('BuGn')(np.linspace(0.2, 0.7, len(x)))\n",
    "\n",
    "# get_cmap 支持的值\n",
    "'''\n",
    "'Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens', 'Greens_r', 'Greys', 'Greys_r', 'OrRd', 'OrRd_r', 'Oranges', 'Oranges_r', 'PRGn', 'PRGn_r', 'Paired', 'Paired_r', 'Pastel1', 'Pastel1_r', 'Pastel2', 'Pastel2_r', 'PiYG', 'PiYG_r', 'PuBu', 'PuBuGn', 'PuBuGn_r', 'PuBu_r', 'PuOr', 'PuOr_r', 'PuRd', 'PuRd_r', 'Purples', 'Purples_r', 'RdBu', 'RdBu_r', 'RdGy', 'RdGy_r', 'RdPu', 'RdPu_r', 'RdYlBu', 'RdYlBu_r', 'RdYlGn', 'RdYlGn_r', 'Reds', 'Reds_r', 'Set1', 'Set1_r', 'Set2', 'Set2_r', 'Set3', 'Set3_r', 'Spectral', 'Spectral_r', 'Wistia', 'Wistia_r', 'YlGn', 'YlGnBu', 'YlGnBu_r', 'YlGn_r', 'YlOrBr', 'YlOrBr_r', 'YlOrRd', 'YlOrRd_r', 'afmhot', 'afmhot_r', 'autumn', 'autumn_r', 'binary', 'binary_r', 'bone', 'bone_r', 'brg', 'brg_r', 'bwr', 'bwr_r', 'cividis', 'cividis_r', 'cool', 'cool_r', 'coolwarm', 'coolwarm_r', 'copper', 'copper_r', 'cubehelix', 'cubehelix_r', 'flag', 'flag_r', 'gist_earth', 'gist_earth_r', 'gist_gray', 'gist_gray_r', 'gist_heat', 'gist_heat_r', 'gist_ncar', 'gist_ncar_r', 'gist_rainbow', 'gist_rainbow_r', 'gist_stern', 'gist_stern_r', 'gist_yarg', 'gist_yarg_r', 'gnuplot', 'gnuplot2', 'gnuplot2_r', 'gnuplot_r', 'gray', 'gray_r', 'hot', 'hot_r', 'hsv', 'hsv_r', 'inferno', 'inferno_r', 'jet', 'jet_r', 'magma', 'magma_r', 'nipy_spectral', 'nipy_spectral_r', 'ocean', 'ocean_r', 'pink', 'pink_r', 'plasma', 'plasma_r', 'prism', 'prism_r', 'rainbow', 'rainbow_r', 'seismic', 'seismic_r', 'spring', 'spring_r', 'summer', 'summer_r', 'tab10', 'tab10_r', 'tab20', 'tab20_r', 'tab20b', 'tab20b_r', 'tab20c', 'tab20c_r', 'terrain', 'terrain_r', 'twilight', 'twilight_r', 'twilight_shifted', 'twilight_shifted_r', 'viridis', 'viridis_r', 'winter', 'winter_r'\n",
    "'''\n",
    "\n",
    "# plot\n",
    "fig, ax = plt.subplots()\n",
    "ax.pie(x, colors=colors, radius=3, center=(4, 4),\n",
    "       wedgeprops={\"linewidth\": 1, \"edgecolor\": \"white\"}, frame=True)\n",
    "\n",
    "ax.set(xlim=(0, 8), xticks=np.arange(1, 8),\n",
    "       ylim=(0, 8), yticks=np.arange(1, 8))\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "'''\n",
    "黑体：SimHei\n",
    "微软雅黑：Microsoft YaHei\n",
    "微软正黑体：Microsoft JhengHei\n",
    "新宋体：NSimSun\n",
    "新细明体：PMingLiU\n",
    "细明体：MingLiU\n",
    "华文新魏:STXinwei\n",
    "华文行楷：STXingkai\n",
    "华文隶书：STLliti\n",
    "花纹琥珀：STHupo\n",
    "华文彩云：STCaiyun\n",
    "方正姚体：FZYaoti\n",
    "方正舒体：FZShuTi\n",
    "标楷体：DFKai-SB\n",
    "华文仿宋：STFangsong\n",
    "华文中宋：STZhongsong\n",
    "华文宋体：STSong\n",
    "华文楷体：STKaiti\n",
    "华文细黑：STXihei\n",
    "幼圆：YouYuan\n",
    "隶书：LiSu\n",
    "楷体_GB 2313:Kaiti_GB2313\n",
    "仿宋_GB2313:FangSong_GB2313\n",
    "仿宋：FangSong\n",
    "'''"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "4905652b14e4b7eb92899b78ac499a22c488804455b27940a322fd82aaf71031"
  },
  "kernelspec": {
   "display_name": "Python 3.8.3 64-bit ('base': conda)",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
